
export const devHostName = ''
export const devDownLoadHostName = ''

/**
 * 课程类型
 * 根据课程类型筛选过滤lessonTypes
 * 在线：视频、音频、课程包、文档、图文、链接、考试、会议
 * 面授：无
 * 会议：会议、考试
 * 混合：视频、音频、课程包、文档、图文、链接、考试、会议(废弃)
 * 由于面授 会议不可以添加课时，notIncludes暂时无用
 */
export const courseTypes = [
    { value: 1, name: '在线', notIncludes: ' ', },
    { value: 2, name: '面授', nickName: '', notIncludes: 'V,A,D,S,P,W,L,E' },
    { value: 3, name: '会议', notIncludes: 'V,A,D,P,W,L' },
    // { value: 4, name: '混合式', notIncludes: ' ' }
]

/**
 * 课时类型（V视频、A音频、M图片、P课程包、E考试、D文档、W图文、L链接、S会议、N无内容）
 * perms: 如果配置了该属性表示此选项需要有权限才能使用
 */
export const lessonTypes = [
    { type: 'V', name: '视频', isFile: true, tagType: 'primary', icon: '' },
    { type: 'A', name: '音频', isFile: true, tagType: 'success', icon: '' },
    { type: 'M', name: '图片', isFile: true, tagType: 'danger', icon: '' },
    { type: 'D', name: '文档', isFile: true, tagType: 'warning', icon: '' },
    { type: 'P', name: '课程包', isFile: true, perms: 'front:business:course.support:package', tagType: 'success', icon: '' },
    { type: 'H', name: 'HTML', countName: 'htmlNumber', icon:'', isFile: true, tagType: 'primary' },
    { type: 'S', name: '会议', tagType: 'danger', icon: '' },
    { type: 'W', name: '图文', tagType: 'danger', icon: '' },
    { type: 'L', name: '链接', tagType: 'warning', icon: '' },
    { type: 'E', name: '考试', tagType: 'primary', icon: '' },
    { type: 'T', name: '电子书', isFile: true, tagType: 'warning', icon: '' },
]

export const mapCodeType = [
  {code: 'MS10001', jumpType: 'credit', path: 'user-center', params: {}, query: {id: '12'}, typeDesc: '获得学分消息', startDesc: '学员获得学分后', icon: 'msg-person-credit'},
  {code: 'MS10002', jumpType: 'points', path: 'user-center', params: {}, query: {id: '11'}, typeDesc: '获得积分消息', startDesc: '学员获得积分后', icon: 'msg-person-points'},
  {code: 'MS10003', jumpType: 'medal', path: 'user-center', params: {}, query: {id: '13'}, typeDesc: '获得勋章消息', startDesc: '学员获得勋章后', icon: 'msg-person-medal'},
  {code: 'MS10004', jumpType: 'certificate', path: 'user-center', params: {}, query: {id: '14'}, typeDesc: '获得证书消息', startDesc: '学员获得证书后', icon: 'msg-person-certificate'},
  {code: 'MS20001', jumpType: 'workspace', path: 'user-workspace', params: {}, query: {tab: '1'}, typeDesc: '授课任务发布通知', startDesc: '任务发布后', icon: 'msg-person-OT'},
  {code: 'MS20002', jumpType: 'workspace', path: 'user-workspace', params: {}, query: {tab: '4'}, typeDesc: '考试批阅通知', startDesc: '考试结束后', icon: 'msg-person-E'},
  {code: 'MS20003', jumpType: 'workspace', path: 'user-workspace', params: {}, query: {tab: '4'}, typeDesc: '线上作业批阅通知', startDesc: '作业结束后', icon: 'msg-W'},
  {code: 'MS20004', jumpType: 'workspace', path: 'user-workspace', params: {}, query: {tab: '3'}, typeDesc: '讲师监考任务预告通知', startDesc: '任务实际开始前', needLeadTime: true, icon: 'msg-comment-audit'},
  {code: 'MS20005', jumpType: 'workspace', path: 'user-workspace', params: {}, query: {tab: '4'}, typeDesc: '实操作业批阅通知', startDesc: '任务结束后', icon: 'msg-PW'},
  {code: 'MS20006', jumpType: 'workspace', path: 'user-workspace', params: {}, query: {tab: '4'}, typeDesc: '心得体会批阅通知', startDesc: '学员任务提交后', icon: 'msg-EX'},

  {code: 'MS30001', jumpType: 'L', path: 'user-center', params: {}, query: {id:'21'}, typeDesc: '参会者发布消息', startDesc: '任务发布后', groupTitle: '参与直播者消息配置', icon: 'msg-person-M'},
  {code: 'MS30002', jumpType: 'L', path: 'user-center', params: {}, query: {id:'21'}, typeDesc: '参会者预告消息', startDesc: '任务实际开始前', needLeadTime: true, icon: 'msg-person-M'},
  {code: 'MS30003', jumpType: 'L', path: 'user-center', params: {}, query: {id:'21'}, typeDesc: '主播发布消息', startDesc: '任务发布后', groupTitle: '主播消息配置', icon: 'msg-person-L'},
  {code: 'MS30004', jumpType: 'L', path: 'user-center', params: {}, query: {id:'21'}, typeDesc: '主播预告消息', startDesc: '任务实际开始前', needLeadTime: true, icon: 'msg-person-L'},

  {code: 'MS40001', jumpType: 'L', path: 'user-center', params: {}, query: {id:'21'}, typeDesc: '参会者发布消息', startDesc: '任务发布后', groupTitle: '参与直播者消息配置', icon: 'msg-person-M'},
  {code: 'MS40002', jumpType: 'L', path: 'user-center', params: {}, query: {id:'21'}, typeDesc: '参会者预告消息', startDesc: '任务实际开始前', needLeadTime: true, icon: 'msg-person-M'},
  {code: 'MS40003', jumpType: 'L', path: 'user-center', params: {}, query: {id:'21'}, typeDesc: '主播发布消息', startDesc: '任务发布后', groupTitle: '主播/助播/主持人消息配置', icon: 'msg-person-L'},
  {code: 'MS40004', jumpType: 'L', path: 'user-center', params: {}, query: {id:'21'}, typeDesc: '主播预告消息', startDesc: '任务实际开始前', needLeadTime: true, icon: 'msg-person-L'},

  {code: 'MS50001', jumpType: 'N', path: 'user-center', params: {}, query: {id: '23'}, typeDesc: '报名消息', startDesc: '任务发布并开启报名通道后', endDesc: '任务发布并开启报名通道后', icon: 'msg-person-sinup'},

  {code: 'MS60001', jumpType: 'audit', path: '', params: {}, query: {}, typeDesc: '知识库审核消息', startDesc: '发布知识库文件审核后', icon: 'msg-audit-D'},
  {code: 'MS60002', jumpType: 'audit', path: 'user-audit', params: {}, query: {tab:'1'}, typeDesc: '流程审核消息', startDesc: '发布流程审核后', icon: 'msg-audit-process'},
  {code: 'MS60003', jumpType: 'audit', path: 'user-audit', params: {}, query: {tab:'0'}, typeDesc: '报名审核消息', startDesc: '发布报名审核后', icon: 'msg-person-sinup'},
  {code: 'MS60004', jumpType: 'audit', path: 'user-audit', params: {}, query: {tab:'2'}, typeDesc: '评价审核消息', startDesc: '发布评价审核后', icon: 'msg-audit-comment'},
  {code: 'MS60005', jumpType: 'audit', path: 'user-audit', params: {}, query: {tab:'3'}, typeDesc: '讨论审核消息', startDesc: '发布讨论审核后', icon: 'msg-audit-discuss'},
  {code: 'MS60006', jumpType: 'audit', path: '', params: {}, query: {}, typeDesc: '知识库审核结果消息', startDesc: '发布知识库文件审核通过后', groupTitle: '审核结果消息通知', icon: 'msg-audit-D'},
  {code: 'MS60007', jumpType: 'audit', path: '', params: {}, query: {}, typeDesc: '流程审核结果消息', startDesc: '发布流程审核通过后', icon: 'msg-audit-process'},
  {code: 'MS60008', jumpType: 'audit',  path: '', params: {}, query:{tab:'1'}, typeDesc: '报名审核结果消息', startDesc: '发布报名审核通过后', icon: 'msg-person-sinup'},
  {code: 'MS60009', jumpType: 'audit', path: '', params: {}, query: {}, typeDesc: '评价审核结果消息', startDesc: '发布评价审核通过后', icon: 'msg-audit-comment'},
  {code: 'MS60010', jumpType: 'audit', path: '', params: {}, query: {}, typeDesc: '讨论审核结果消息', startDesc: '发布讨论审核通过后', icon: 'msg-audit-discuss'},
  {code: 'MS70001', jumpType: '', path: '', params: {}, query: {}, typeDesc: '讨论回复消息', startDesc: '', icon: 'msg-audit-discuss'},
  {code: 'MS80001', jumpType: '', path: '', params: {}, query: {}, typeDesc: '视频转码完成', startDesc: '转码成功后', endDesc: '视频转码成功后', icon: 'msg-person-sys.png'},
]


// 密码规则
export const passwordRoleTypes = [
    { name: "6-15位数字、字母或字符", value: "1" },
    { name: "6-15位数字+字母+字符的任意两种组合", value: "2" },
    { name: "8-15位数字+字母+字符的任意两种组合", value: "3" },
    { name: "8-15位数字+字母+字符的三种组合", value: "4" },
]

// 密码特殊规则
export const passwordSpecialRoleTypes = [
    { value: "1", name: "不能包含三位及以上连续字母，如：ABC，abcd等" },
    { value: "2", name: "不能包含三位及以上连续数字，如：123，45678等" },
    { value: "3", name: "不能包含连续三位及以上相同字符，如：222，AAAA等" },
]

// 交卷状态
export const submitPapersStatus = [
  { name: '全部', value: '', key: ''},
  { name: '未交卷', value: 'N' },
  { name: '正常交卷', value: 'C' },
  { name: '强制交卷', value: 'Q' },
]

// 交卷方式 1 正常交卷、 2 超时交卷、3 强制收卷、4 作弊收卷
export const submitTypes = [
  { type: '1', name: '正常交卷', key:'commonCarryCount'},
  { type: '2', name: '超时交卷', key:'overTimeCarryCount' },
  { type: '3', name: '强制收卷', key:'forceCarryCount'},
  { type: '4', name: '作弊收卷', key:'cheatCarryCount'},
]


// 视频清晰度
export const clarityTypes = [
    { type: '1', name: '流畅', disabled: true },
    { type: '2', name: '标清', disabled: false },
    { type: '3', name: '高清', disabled: false },
    { type: '4', name: '超清', disabled: true },
    { type: '5', name: '2K', disabled: true },
    { type: '6', name: '4K', disabled: true }
]

// 视频水印位置
export const waterMarkPosition = [
    { type: '0', name: '不展示' },
    { type: '1', name: '左上角' },
    { type: '2', name: '右上角' },
    { type: '3', name: '左下角' },
    { type: '4', name: '右下角' },
]

// 支持的音频格式
export const audioTypes = [ 'mp3', 'wav', 'ogg' ]

// 支持的视频格式
export const videoTypes = [ 'flv', 'mov', 'mkv', 'm4v', 'mp4', 'rmvb', 'wmv', 'rm', 'avi', 'mpg', 'mpeg', 'ts' ]

// 支持的图片格式
export const picTypes = [ 'jpg', 'png', 'gif', 'bmp', 'jpeg' ]

// 支持的文档格式
export const docTypes = [ 'doc', 'docx', 'dot', 'dotm', 'ppt', 'pptx', 'pps', 'ppsx', 'pptm', 'ppsm', 'xls', 'xlsx', 'xlsm', 'pdf' ]

// 限制后的文档格式(目前只支持PDF) 增值服务 - 开启在线文档 否-文档只能上传PDF
export const limitDocTypes = [ 'pdf' ]

// 限制后的视频格式（目前只支持MP4）增值服务 - 开启转码 否 - 视频只能上传MP4
export const limitVideoTypes = [ 'mp4' ]

// 限制后的音频格式（目前只支持MP3）增值服务 - 开启转码 否 - 音频只能上传MP3
export const limitAudioTypes = [ 'mp3' ]

// 课程包文件格式
export const packageTypes = ['zip']

// 组织类型
export const orgTypes = [
    { name: '公司', type: 1, regRange: 'S', idName: 'id', tagType: 'success' },
    { name: '部门', type: 2, regRange: 'G', idName: 'orgId', tagType: 'primary' },
    // { name: '群组', type: 3, regRange: 'L', idName: 'groupId', tagType: 'warning' },
    { name: '岗位', type: 4, regRange: 'P', idName: 'id', tagType: 'danger' },
    { name: '用户', type: 5, regRange: 'U', idName: 'userId', tagType: 'primary' }
]

// 消息用到的组织类型
export const msgRanges = [
    { name: '公司', type: 1, regRange: 'S', idName: 'id', tagType: 'success' },
    { name: '部门', type: 2, regRange: 'G', idName: 'orgId', tagType: 'primary' },
    { name: '用户', type: 5, regRange: 'U', idName: 'userId', tagType: 'primary' },
    { name: '条件', type: 6, regRange: 'C', tagType: 'warning' }
]

// 考试前是否校验密码(1 是 2 否 3人脸核验)
export const beforeExamCheck = {
  '1': '密码验证',
  '2': '不验证',
  '3': '人脸识别',
  '4': '短信验证'
}

// 用户课程状态
export const learnStatus = [
    { name: '未开始', status: 1, btnDisabled: true, btnStyle: 'disabled' },
    { name: '已结束', status: 2, btnDisabled: true, btnStyle: 'disabled' },
    { name: '无权学习', status: 3, btnDisabled: true, btnStyle: 'disabled' },
    { name: '继续学习', status: 4, btnDisabled: false, btnStyle: '' },
    { name: '报名', status: 5, btnDisabled: false, btnStyle: 'warning' },
    { name: '审批中', status: 6, btnDisabled: true, btnStyle: 'warning' },
    { name: '开始学习', status: 7, btnDisabled: false, btnStyle: '' }
]

// 课程学习状态
export const studyStatus = [
    { name: '未开始', status: 1, tableColor: '#ECA049' },
    { name: '进行中', status: 2, tableColor: '#1890FF' },
    { name: '未通过', status: 3, tableColor: '#52C41A' },
    { name: '计算中', status: 4, tableColor: '#E6A23C' },
    { name: '已通过', status: 5, tableColor: '#52C41A' }
]
// 学习动态类型
export const studyLogTypes = [
  { name: '全部', type: '', value: '' },
  { name: '课程', type: 'C', value: 'C'},
  { name: '考试', type: 'E', value: 'E'},
  { name: '练习', type: 'P', value: 'P'},
  { name: '问卷', type: 'S', value: 'S'},
  { name: '面授培训', type: 'OT', value: 'OT'},
  { name: '直播', type: 'L', value: 'L'},
  { name: '培训项目', type: 'T', value: 'T' },
  { name: '认证', type: 'PC', value: 'PC' },
  { name: '视频会议', type: 'MEET', value: 'MEET' },
  /*{name: '腾讯会议', type: 'TX_MEET'},
  {name: '企业微信会议', type: 'MEET'},*/
]

// 学员注册状态
export const regStatus = [
    { name: '未报名', status: 1, tableColor: '#ECA049' },
    { name: '已报名', status: 2, tableColor: '#1890FF' },
    { name: '审批中', status: 3, tableColor: '#52C41A' },
]

// 学员注册同步日志 同步状态
export const anayStatus = [
    { name: '未同步', status: 1, tableColor: '#ECA049' },
    { name: '同步中', status: 2, tableColor: '#1890FF' },
    { name: '已完成', status: 3, tableColor: '#52C41A' },
    { name: '失败', status: 4, tableColor: '#F56C6C' },
]

// 文件转码状态
export const fileTransStatus = [
    { name: '未转码', status: 1, tableColor: '#ECA049' },
    { name: '转码中', status: 2, tableColor: '#1890FF' },
    { name: '已完成', status: 3, tableColor: '#52C41A' },
    { name: '转码失败', status: 4, tableColor: '#F56C6C' },
    { name: '重新转码', status: 5, tableColor: '#ECA049' },
    { name: '无需转码', status: 6, tableColor: '#ECA049' },
]

// 审核状态
export const auditStatus = [
    { text: '未发布', name: '未发布', value: '0', status: '0', tableColor: '#dddddd' },
    { text: '待审核', name: '待审核', value: '1', status: 1, tableColor: '#ECA049' },
    { text: '已发布', name: '已发布', value: '2', aliasName: '审核通过', status: 2, tableColor: '#52C41A' },
    { text: '驳回', name: '驳回', value: '3', status: 3, tableColor: '#F56C6C' },
]

// 课程注册类型
export const regTypeList = [
    { name: '全部', value: '' },
    { name: '必修', value: '1' },
    { name: '选修', value: '2' },
    // { name: '选修审批', value: '3' }
]

// 知识库文件类型 将类型统一
export const knowledgeDocTypes = [
    { name: '全部', value: '' },
    { name: '图片', value: '1', key: 'M' },
    { name: '文档', value: '2', key: 'D' },
    { name: '视频', value: '3', key: 'V' },
    { name: '音频', value: '4', key: 'A' },
    { name: '电子书', value: '6', key: 'T' }
]
export const knowledgeDocTypes1 = [
    { name: '全部', value: '' },
    { name: '图片', value: 'M' },
    { name: '文档', value: 'D' },
    { name: '视频', value: 'V' },
    { name: '音频', value: 'A' },
    { name: '电子书', value: 'T' }
]

export const uploadTypes = [
    { name: '文档', type: 'D', key: 'uploadLimitDoc', types: docTypes },
    { name: '图片', type: 'M', key: 'uploadLimitImg', types: picTypes },
    { name: '视频', type: 'V', key: 'uploadLimitVideo', types: videoTypes },
    { name: '音频', type: 'A', key: 'uploadLimitAudio', types: audioTypes },
    { name: '压缩包', type: 'Z', key: 'uploadLimitFile', types: packageTypes},
]

// 会议来源类型
export const liveSourceType = [
    { name: '录制', value: '0' },
    { name: '合并', value: '1' },
    { name: '迁移', value: '2' },
    { name: '上传', value: '3' },
    { name: '裁剪', value: '4' },
]
// 用户身份类型
export const USER_TYPE = {
  "INTERIOR": 1, // 普通学员
  "PERSON": 2, // 外部讲师 只有学员端
  "COMMON_ADMIN": 10, // 普通管理员 暂定都有
  "UNIT_ADMIN": 11, // 单位管理员 暂定都有
  "SITE_ADMIN": 12, // 集团管理员 暂定都有
  "SECURITY_ADMIN": 20, // 安全管理员   只有管理端
  "AUDIT_ADMIN": 21, // 审计管理员    只有管理端
  "USER_ADMIN": 22, // 用户管理员    只有管理端
  "PLATFORM_ADMIN": 99, // 平台管理员   只有管理端
}
// 只有学员端
export const USER_TYPE_STUDENT = [USER_TYPE.INTERIOR, USER_TYPE.PERSON]
// 只有管理端
export const USER_TYPE_ADMIN = [USER_TYPE.SECURITY_ADMIN, USER_TYPE.AUDIT_ADMIN, USER_TYPE.USER_ADMIN, USER_TYPE.PLATFORM_ADMIN]
// 身份为三员的
export const USER_TYPE_THREE = [USER_TYPE.SECURITY_ADMIN, USER_TYPE.AUDIT_ADMIN, USER_TYPE.USER_ADMIN]
// 暂定都有
export const USER_TYPE_ALL = [USER_TYPE.COMMON_ADMIN, USER_TYPE.UNIT_ADMIN, USER_TYPE.SITE_ADMIN]
// 消息类型
export const msgTypes=[
  {id: 1, name: '个人消息', key: 'personalMsgType', noReadCount: 0, totalCount: 0, styleType: '1', icon: 'msg-person'},
  {id: 2, name: '管理员消息', key: 'managerMsgType', noReadCount: 0, totalCount: 0, styleType: '1', icon: 'msg-admin'},
  {id: 6, name: '平台消息', key: "platMsgType", noReadCount: 0, totalCount: 0, styleType: '1', icon: 'msg-plat'},
  {id: 3, name: '审核消息', key: 'auditMsgType', noReadCount: 0, totalCount: 0, styleType: '1', icon: 'msg-audit'},
  {id: 4, name: '批阅消息', key: 'readoverMsgType', noReadCount: 0, totalCount: 0, styleType: '1', icon: 'msg-readover'},
  {id: 5, name: '讨论消息', key: 'discussMsgType', noReadCount: 0, totalCount: 0, styleType: '1', icon: 'msg-discuss'},
]

// 消息跳转类型
export const allMsgCodes= [
  {code: 'MS10001', desc: '获得学分消息', needJump: true, path: 'user-credit', params: {}, query: null, courseType: '', icon: 'msg-person-credit'},
  {code: 'MS10002', desc: '获得积分消息', needJump: true, path: 'user-point', params: {}, query: null, courseType: '', icon: 'msg-person-points'},
  {code: 'MS10003', desc: '获得勋章消息', needJump: true, path: 'user-medal', params: {}, query: null, courseType: '', icon: 'msg-person-points'},
  {code: 'MS10004', desc: '获得证书消息', needJump: true, path: 'user-certificate', params: {}, query: null, courseType: '', icon: 'msg-person-certificate'},
  {code: 'MS20001', desc: '授课任务发布通知', needJump: true, path: 'teacher-calendar', params: {}, query: null, courseType: '', icon: 'msg-person-lessons'},
  {code: 'MS20002', desc: '考试批阅通知', needJump: true, path: 'teacher-work', params: {}, query: null, courseType: '', icon: 'msg-person-E'},
  {code: 'MS20003', desc: '线上作业批阅通知', needJump: true, path: 'teacher-work', params: {}, query: null, courseType: '', icon: 'msg-W'},
  {code: 'MS20004', desc: '讲师监考任务预告通知', needJump: true, path: 'teacher-exam', params: {}, query: null, courseType: '', icon: 'msg-person-lessons'},
  {code: 'MS20005', desc: '实操作业批阅通知', needJump: true, path: 'teacher-work', params: {}, query: null, courseType: '', icon: 'msg-PW'},
  {code: 'MS20006', desc: '心得体会批阅通知', needJump: true, path: 'teacher-work', params: {}, query: null, courseType: '', icon: 'msg-EX'},
  {code: 'MS30001', desc: '视频会议参会者发布消息', needJump: true, path: 'public-living-qywechat', params: {}, query: {activeBar: 0}, courseType: '', icon: 'msg-person-M'},
  {code: 'MS30002', desc: '视频会议参会者预告消息', needJump: true, path: 'public-living-qywechat', params: {}, query: {activeBar: 0}, courseType: '', icon: 'msg-person-M'},
  {code: 'MS30003', desc: '视频会议主播发布消息', needJump: true, path: 'public-living-qywechat', params: {}, query: {activeBar: 1}, courseType: '', icon: 'msg-person-M'},
  {code: 'MS30004', desc: '视频会议主播预告消息', needJump: true, path: 'public-living-qywechat', params: {}, query: {activeBar: 1}, courseType: '', icon: 'msg-person-M'},
  {code: 'MS40001', desc: '直播课堂参会者发布消息', needJump: true, path: 'home-course-live', params: {}, query: null, courseType: '', icon: 'msg-person-L'},
  {code: 'MS40002', desc: '直播课堂参会者预告消息', needJump: true, path: 'home-course-live', params: {}, query: null, courseType: '', icon: 'msg-person-L'},
  {code: 'MS40003', desc: '直播课堂主播发布消息', needJump: true, path: 'home-course-live', params: {}, query: null, courseType: '', icon: 'msg-person-L'},
  {code: 'MS40004', desc: '直播课堂主播预告消息', needJump: true, path: 'home-course-live', params: {}, query: null, courseType: '', icon: 'msg-person-L'},
  {code: 'MS50001', desc: '报名消息通知', needJump: true, path: 'home-signup', params: {}, query: null, courseType: '', icon: 'msg-audit-signUp'},
  {code: 'MS60001', desc: '知识库审核消息', needJump: true, path: 'file-type-id', params: {}, query: null, courseType: '', icon: 'msg-person-D'},
  {code: 'MS60002', desc: '流程审核消息', needJump: true, path: 'user-audit', OAPath: 'msg-list', params: {}, query: {tab: '2'}, OAQuery: {tab: '3',code: 'MS60002'}, courseType: '', icon: 'msg-audit-process'},
  {code: 'MS60003', desc: '报名审核消息', needJump: true, path: 'user-audit', OAPath: 'msg-list', params: {}, query: {tab: '1'}, OAQuery: {tab: '3',code: 'MS60003'}, courseType: '', icon: 'msg-audit-signUp'},
  {code: 'MS60004', desc: '评价审核消息', needJump: true, path: 'user-audit', OAPath: 'user-audit', params: {}, query: {tab: '2'}, OAQuery: {tab: '2',code: 'MS60004'}, courseType: '', icon: 'msg-audit-comment'},
  {code: 'MS60005', desc: '讨论审核消息', needJump: true, path: 'user-audit', OAPath: 'user-audit', params: {}, query: {tab: '3'}, OAQuery: {tab: '3', code: 'MS60005' }, courseType: '', icon: 'msg-audit-discuss'},
  {code: 'MS60006', desc: '知识库审核结果消息', needJump: true, path: 'file-view-id', params: {}, query: null, courseType: '', icon: 'msg-person-D'},
  {code: 'MS60007', desc: '流程审核结果消息', needJump: true, path: 'user-audit',  OAPath: 'msg-list', params: {}, query: {tab: '2'} ,OAQuery: {tab: '3',code: 'MS60007'}, courseType: '', icon: 'msg-audit-process'},
  {code: 'MS60008', desc: '报名审核结果消息', needJump: true, path: 'user-audit',  OAPath: 'msg-list', params: {}, query: {tab: '1'}, OAQuery: {tab: '3',code: 'MS60008'}, courseType: '', icon: 'msg-audit-signUp'},
  {code: 'MS60009', desc: '评价审核结果消息', needJump: true, path: '', params: {}, query: {}, courseType: '', icon: 'msg-audit-comment'},
  {code: 'MS60010', desc: '讨论审核结果消息', needJump: true, path: '', params: {}, query: {}, courseType: '', icon: 'msg-audit-discuss'},
  {code: 'MS70001', desc: '讨论回复消息', needJump: true, path: '', params: {}, query: null, courseType: '', icon: 'msg-audit-discuss'},
  {code: 'MS80001', desc: '视频转码完成通知', needJump: false, path: '', params: {}, query: null, courseType: '', icon: 'msg-person-M'},
  {code: 'MBC0001', desc: '课程发布消息', needJump: true, path: '', params: {}, query: null, courseType: 'C', icon: 'msg-person-C'},
  {code: 'MBC0002', desc: '课程预告消息', needJump: true, path: '', params: {}, query: null, courseType: 'C', icon: 'msg-person-C'},
  {code: 'MBC0003', desc: '课程结束消息', needJump: true, path: '', params: {}, query: null, courseType: 'C', icon: 'msg-person-C'},
  {code: 'MBC0004', desc: '课程循环消息', needJump: true, path: '', params: {}, query: null, courseType: 'C', icon: 'msg-person-C'},
  {code: 'MBT0001', desc: '培训项目发布消息', needJump: true, path: '', params: {}, query: null, courseType: 'T', icon: 'msg-person-T'},
  {code: 'MBT0002', desc: '培训项目预告消息', needJump: true, path: '', params: {}, query: null, courseType: 'T', icon: 'msg-person-T'},
  {code: 'MBT0003', desc: '培训项目结束消息', needJump: true, path: '', params: {}, query: null, courseType: 'T', icon: 'msg-person-T'},
  {code: 'MBT0004', desc: '培训项目循环消息', needJump: true, path: '', params: {}, query: null, courseType: 'T', icon: 'msg-person-T'},
  {code: 'MBOT0001', desc: '面授培训发布消息', needJump: true, path: '', params: {}, query: null, courseType: 'OT', icon: 'msg-person-OT'},
  {code: 'MBOT0002', desc: '面授培训预告消息', needJump: true, path: '', params: {}, query: null, courseType: 'OT', icon: 'msg-person-OT'},
  {code: 'MBOT0003', desc: '面授培训结束消息', needJump: true, path: '', params: {}, query: null, courseType: 'OT', icon: 'msg-person-OT'},
  {code: 'MBOT0004', desc: '面授培训循环消息', needJump: true, path: '', params: {}, query: null, courseType: 'OT', icon: 'msg-person-OT'},
  {code: 'MBPC0001', desc: '岗位证书发布消息', needJump: true, path: '', params: {}, query: null, courseType: 'PC', icon: 'msg-person-PC'},
  {code: 'MBPC0002', desc: '岗位证书预告消息', needJump: true, path: '', params: {}, query: null, courseType: 'PC', icon: 'msg-person-PC'},
  {code: 'MBPC0003', desc: '岗位证书结束消息', needJump: true, path: '', params: {}, query: null, courseType: 'PC', icon: 'msg-person-PC'},
  {code: 'MBPC0004', desc: '岗位证书循环消息', needJump: true, path: '', params: {}, query: null, courseType: 'PC', icon: 'msg-person-PC'},
  {code: 'MBE0001', desc: '考试发布消息', needJump: true, path: '', params: {}, query: null, courseType: 'E', icon: 'msg-person-E'},
  {code: 'MBE0002', desc: '考试预告消息', needJump: true, path: '', params: {}, query: null, courseType: 'E', icon: 'msg-person-E'},
  {code: 'MBE0003', desc: '考试结束消息', needJump: true, path: '', params: {}, query: null, courseType: 'E', icon: 'msg-person-E'},
  {code: 'MBE00004', desc: '考试循环消息', needJump: true, path: '', params: {}, query: null, courseType: 'E', icon: 'msg-person-E'},
  {code: 'MBP0001', desc: '练习发布消息', needJump: true, path: '', params: {}, query: null, courseType: 'P', icon: 'msg-person-P'},
  {code: 'MBP00002', desc: '练习预告消息', needJump: true, path: '', params: {}, query: null, courseType: 'P', icon: 'msg-person-P'},
  {code: 'MBP0003', desc: '练习结束消息', needJump: true, path: '', params: {}, query: null, courseType: 'P', icon: 'msg-person-P'},
  {code: 'MBP0004', desc: '练习循环消息', needJump: true, path: '', params: {}, query: null, courseType: 'P', icon: 'msg-person-P'},
  {code: 'MBDP00001', desc: '每日一练预告消息', needJump: true, path: '', params: {}, query: null, courseType: 'DP', icon: 'msg-person-DP'},
  {code: 'MBDP0003', desc: '每日一练结束消息', needJump: true, path: '', params: {}, query: null, courseType: 'DP', icon: 'msg-person-DP'},
  {code: 'MBS0001', desc: '问卷发布消息', needJump: true, path: '', params: {}, query: null, courseType: 'S', icon: 'msg-person-Q'},
  {code: 'MBS0002', desc: '问卷预告消息', needJump: true, path: '', params: {}, query: null, courseType: 'S', icon: 'msg-person-Q'},
  {code: 'MBS0003', desc: '问卷结束消息', needJump: true, path: '', params: {}, query: null, courseType: 'S', icon: 'msg-person-Q'},
  {code: 'MBS0004', desc: '问卷循环消息', needJump: true, path: '', params: {}, query: null, courseType: 'S', icon: 'msg-person-Q'},
  {code: 'MC00001', desc: '管理员自定义消息', needJump: true, path: 'msg-id', params: {}, query: null, courseType: '', icon: ''},
  {code: 'MC00002', desc: '业务自定义消息', needJump: true, path: 'msg-id', params: {}, query: null, courseType: '', icon: ''},
]


// 流程审核类型
export const flowType = [
    { name: "全部类型", value: "", },
    { name: "发布课程", value: "C", },
    { name: "发布公开课", value: "PUBC", },
    { name: "发布培训项目", value: "T", },
    { name: "发布面授培训", value: "OT", },
    { name: "发布培训规划", value: "TP", },
    { name: "发布考试", value: "E", },
    { name: "发布问卷", value: "S", },
    { name: "发布练习", value: "P", },
    { name: '发布岗位认证', value: 'PC' },
    { name: '证书申领', value: 'PC_1' },
    {name: '发布直播', value: 'L'},
    {name: '试题审核', value: 'QUESTIONS'},
]
// 面授状态类型
export const offlineTrainStatus = [
    { name: '未开始', value: '1' },
    { name: '进行中', value: '2' },
    { name: '已结束', value: '4' }
]

// 培训状态类型
export const trainingStatus = [
    { name: '未开始', value: '1' },
    { name: '进行中', value: '2' },
    { name: '已完成', value: '5' }
]

export const trainingStage = [
    { name: '课程', type: 'C'},
    { name: '考试', type: 'E'},
    { name: '问卷', type: 'S'},
    { name: '练习', type: 'P'},
    { name: '线上作业', type: 'W'},
    { name: '考勤', type: 'SI'},
    { name: '实操作业', type: 'PW'},
    { name: '心得体会', type: 'EX'}
]

export const allJobStage = [
  ...trainingStage,
  {name: '认证', type: 'PC'},
  {name: '面授', type: 'OT'},
  {name: '培训', type: 'T'},
  {name: '每日一练', type: 'DPJ'},
  {name: '公开课', type: 'PUBC'},
  {name: '直播', type: 'L'},
  {name: '投票', type: 'VO'},
  {name: '腾讯会议', type: 'TX_MEET'},
  {name: '企业微信会议', type: 'MEET'},
  {name: '问答社区', type: 'FORUM'},
  {name: '新闻', type: 'NEWS'},
  {name: '知识库文档', type: 'DOC'},
  {name: '公告', type: 'NOTICE'},
  {name: '课时', type: 'CHAPTER'},
  {name: '报名', type: 'SIGNUP'},
  {name: '讲师', type: 'TEACHER'},
  {name: '课程资料', type: 'DATA'},
]

export const certificationStatus = [
    {id: 1, name: '全部认证', value: '' },
    {id: 2, name: '未认证', value: '1' },
    {id: 3, name: '认证中', value: '2' },
    {id: 4, name: '已通过', value: '3' },
    {id: 5, name: '未通过', value: '4' },
]
// 会议模板
export const liveTemplates = { // 1视频、2问答视频聊天、3视频聊天、6视频问答、4视频聊天文档、5视频问答文档聊天
    a: { cs: [1, 2, 3, 6] },
    b: { cs: [4, 5] }
}

// 系统核心业务类型  C 课程 ,E 考试 , P 练习 , S 问卷
export const manaTypes = [
  { name: '课程', type: 'C', detailRoute: 'courseDetail-id-site', calendarNumProps: 'courseNum' },
  { name: '考试', type: 'E', detailRoute: 'test-start-id', calendarNumProps: 'examNum' },
  { name: '练习', type: 'P', detailRoute: 'questionnaire-start-id' },
  { name: '问卷', type: 'S', detailRoute: 'practice-start-id', calendarNumProps: 'surveyNum', tabDisabled: true },
  { name: '培训项目', type: 'T', detailRoute: 'training-detail-id', calendarNumProps: 'planNum' },
  { name: '面授培训', type: 'OT', detailRoute: 'offlineTrain-detail-id', calendarNumProps: 'offlineTrainNum' },
  { name: '直播', type: 'L', detailRoute: 'live-detail-id', calendarNumProps: 'courseLiveNum' },
  { name: '认证', type: 'PC', detailRoute: '', calendarNumProps: 'postCertificationNum' },
  { name: '投票', type: 'VO', detailRoute: '', calendarNumProps: '' },
  // { name: '视频会议', type: 'MEET', detailRoute: 'public-living-detail-id', calendarNumProps: 'courseLiveNum' }
]

// 颁发证书方式
export const issueCertificate = [
    { name: '系统自动', type: '1' },
    { name: '手动领取', type: '2' },
    { name: '管理员颁发', type: '3' },
]

//证书领取状态
export const drawStatus = [
    { name: '已领取', type: '1' },
    { name: '未领取', type: '2' },
    { name: '已过期', type: '4' },
]

// 轮播图链接类型 C 课程 ,E 考试 , P 练习 , S 问卷 ,N : 公告
export const carouselTypes = [
  { name: '链接', type: '1' },
  { name: '公告', type: 'N' },
  ...manaTypes
]

// 设备类型
export const deviceList = [
  { name: 'PC', type: 1 },
  { name: 'WAP', type: 2 },
  { name: 'Android', type: 3 },
  { name: 'iOS', type: 4 },
]

// 报名类型
export const signupType = [
    { name: '普通', value: 'N' },
    { name: '课程', value: 'C' },
    { name: '考试', value: 'E' },
    { name: '问卷', value: 'S' },
    { name: '练习', value: 'P' },
    { name: '培训', value: 'T' }
]

// 订单状态
export const orderStatus = [
  { name: '待支付', value: '1', },
  { name: '已取消', value: '2', },
  { name: '已失效', value: '3', },
  { name: '付款中', value: '4', },
  { name: '已支付', value: '5', },

]

export const refundStatus = [
  { name: '退款审核中', value: '6', },   // 待处理
  { name: '退款中', value: '7', },   //
  { name: '退款拒绝', value: '8', },
  { name: '退款中', value: '9', },
  { name: '退款成功', value: '10', },
  { name: '退款异常', value: '11', },
]


// 退款状态
export const refundResult = [
  { name: '退款待处理', value: '1', },
  { name: '退款同意', value: '2', },
  { name: '退款拒绝', value: '3', },
  { name: '退款已到账', value: '4', },
  { name: '退款未到账', value: '5', },  // 退款出错未到账
  // { name: '取消退款', value: '6', },
]

export const signupStatus = [{
    name: '立即报名',
    value: '1'
}, {
    name: '审核中',
    value: '2'
}, {
    name: '审核通过',
    value: '3'
}, {
    name: '审核拒绝',
    value: '4'
}, {
    name: '已取消报名',
    value: '5'
}, {
    name: '名额已满',
    value: '6'
}, {
    name: '报名关闭',
    value: '7'
}, {
    name: '报名结束',
    value: '8'
}, {
    name: '报名未开始',
    value: '9'
}]

// 证书模板编码
export const certificateCodes = ['姓名', '课程/班级/考试', '等级级别', '日期年月日']

// 时间控件快捷选项
export const pickerOptions = {
    shortcuts: [{
        text: '最近一周',
        onClick(picker) {
            const end = new Date();
            const start = new Date();
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
            picker.$emit('pick', [start, end]);
        }
    }, {
        text: '最近一个月',
        onClick(picker) {
            const end = new Date();
            const start = new Date();
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
            picker.$emit('pick', [start, end]);
        }
    }, {
        text: '最近三个月',
        onClick(picker) {
            const end = new Date();
            const start = new Date();
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
            picker.$emit('pick', [start, end]);
        }
    }]
}

export const beforeUploadErrorMsg = '所选站点暂无可用的文件服务器，请联系管理员'

// DES 密钥
export const SALT_DES_KEY = 'GuWGP@&s8bAa8lU#iA1g#pFmxsWZqzF$hnZ^Jfi#XQg1HHURZQ6f51@TGSdo%qqn'
// user local key name
export const USER_LOCAL_KEY = '8adeab1e-e8a3-d7b7-5fad-5eefd99bca5f'
// RSA 加密key
export const RSAPUBLICKEY = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCx3hYm+bywGs///AFP8K8VcOZSkIv3caa23GTHwncIH9b0r6K5UgwaBZbFK2gOXtSur2tTFNk+2YK7JHZcyF5LCXqNZnkLgmCZKdGk79y9cPH69m5MZMiNzNTUfRZNqgor2ULNG24DLTlgv/FVyNyMBHoBNjBu1ZdDJEz06LCVXwIDAQAB'

// SM2 加密公钥
export const MS2_PUBLICKEY = '0452a8a1c928c6dd5fc49a8cf9988ae93b02ae96678e08d587803eac280e20f0255906723341d38cbb8e49bcc2a80735b574166886f5e52d625ac1b4cb1706685e'


// 快捷入口：课程管理、考试管理、问卷管理、练习管理、知识库管理、讲师管理、用户管理、部门管理
// 增加“创建在线课程”、“创建面授课程”、“创建会议课程”、“创建考试”、“创建问卷”、“创建练习”
export const homepageShortcuts = [
  {
    name: '课程管理',
    url: '/mgt/course/list',
    icon: 'course green',
    perms: "front:business:course"
  },
  {
    name: '考试管理',
    url: '/mgt/exam/list',
    icon: 'exam green',
    perms: "front:business:exam"
  },
  {
    name: '问卷管理',
    url: '/mgt/questionnaire/list',
    icon: 'quest green',
    perms: "front:business:survey:manager"
  },
  {
    name: '练习管理',
    url: '/mgt/practice/list',
    icon: 'practice green',
    perms: "front:business:practice:manager"
  },
  {
    name: '知识库管理',
    url: '/mgt/knowledge/list',
    icon: 'file green',
    perms: "front:business:knowledge"
  },
  {
    name: '讲师管理',
    url: '/mgt/training/teacher/list',
    icon: 'user green',
    perms: "front:business:resource:teacher"
  },
  {
    name: '用户管理',
    url: '/org/list',
    icon: 'user green',
    perms: "front:user:manger:user.add.edit"
  },
  {
    name: '部门管理',
    url: '/org/list?tabName=2',
    icon: 'user green',
    perms: "front:user:manger:org.add.edit"
  },
  {
    name: '创建在线课程',
    url: '/mgt/course/add/1',
    icon: 'course green',
    perms: "front:business:course.add"
  },
  {
    name: '创建面授课程',
    url: '/mgt/course/add/2',
    icon: 'course green',
    perms: "front:business:offline:course.add"
  },
  {
    name: '创建会议课程',
    url: '/mgt/course/add/3',
    icon: 'course green',
    perms: "front:business:live:course.add"
  },
  {
    name: '创建考试',
    url: '/mgt/exam/listAdd',
    icon: 'exam green',
    perms: "front:business:exam.add"
  },
  {
    name: '创建问卷',
    url: '/mgt/questionnaire/listAdd',
    icon: 'quest green',
    perms: "front:business:survey.add"
  },
  {
    name: '创建练习',
    url: '/mgt/practice/listAdd',
    icon: 'practice green',
    perms: "front:business:practice.add"
  },
]
// 积分商城兑换方式
export const receiveType = [
  { name: '自提', value: 'S', },
  { name: '邮寄', value: 'M', },
  { name: '无需领取', value: 'N', },
]

// 用户管理菜单列表
export const orgMenuList = [
    {
        name: '用户管理',
        tabName: 1,
        perms: "front:user:manger:user"
    },
    {
        name: '部门管理',
        tabName: 2,
        perms: "front:user:manger:org"
    },
    {
        name: '岗位管理',
        tabName: 4,
        perms: "front:user:manger:position"
    },
    {
        name: '岗位级别管理',
        tabName: 5,
        perms: "front:user:manger:position.level"
    },
    {
        name: '批量添加',
        tabName: 'a',
        perms: "front:user:manger:import"
    },
]

// scorm数据透传所需keys
export const cmiKeys = [
  'cmi_core_lesson_status',
  'cmi_core_score_raw',
  'cmi_core_lesson_location',
  'cmi_suspend_data',
  'cmi_core_session_time',
  'cmi_mastery_score',
  'cmi_core_credit',
  'errorCode',
]

export const pwdRuleContent = '密码需要数字、大写字母、小写字母、特殊字符，长度10-20'


export const weeks = [ '一', '二', '三', '四', '五', '六', '日' ]
export const simpleWeeks = [ '一', '二', '三', '四', '五', '六', '日' ]

export const qywxLiveStatus = [
  // { status: '-1', name: '异常' },
  { status: '0', name: '未开始', color: '#4DA9FB' },
  { status: '1', name: '进行中', color: '#98C963' },
  { status: '2', name: '已结束' },
  { status: '3', name: '已过期' },
  { status: '4', name: '已取消' }
]

export const meetingLiveStatus = [
    // { status: '-1', name: '异常' },
    { status: '1', name: '未开始', color: '#4DA9FB' },
    { status: '2', name: '预约中', color: '#4DA9FB' },
    { status: '3', name: '进行中', color: '#98C963' },
    { status: '4', name: '已结束' },
    { status: '5', name: '已过期' }
]

export const TISSUE_TYPE = {
    SMS_SIGN_NAME: 'SMS_SIGN_NAME',
    SITE_SHOW_NAME: 'SITE_SHOW_NAME',
    DOC_SHOW_NAME: 'DOC_SHOW_NAME',
    UNIT_SHOW_NAME: 'UNIT_SHOW_NAME',
    DIR_SHOW_NAME: 'DIR_SHOW_NAME',
    CREDIT_SHOW_NAME: 'CREDIT_SHOW_NAME',
	 POINT_SHOW_NAME: 'POINT_SHOW_NAME'
}
export const getConfigName = (type='UNIT_SHOW_NAME')=>{
  let configMap = JSON.parse(uni.getStorageSync('configMap'));
  console.log("configMapconfigMap",configMap);
  return  (type && TISSUE_TYPE[type] && configMap) ? configMap[TISSUE_TYPE[type]] : '-'
}
export const siteIdList = ['signin-id', 'resetPass-id', 'signup-person-id', 'signup-detail-id', 'ssoredirect-id', 'wx-auth-id', 'wx-redirect-id', 'wx-login-id']

// 签到状态
export const signinStatusList = {
  "1": {text: "未开始", disabled: true, show: true, status: "info",},
  "2": {text: "已结束", disabled: true, show: true, status: "info",},
  "3": {text: "待签到", disabled: false, show: true, status: "info", desc: "未打卡",},
  "4": {text: "无权限", disabled: true, show: false, status: "info",},
  "5": {text: "正常签到", disabled: true, show: true, status: "primary", pre: "已",},
  "6": {text: "迟到签到", disabled: true, show: true, status: "danger", desc: "迟到", pre: "已",},
  "7": {text: "缺卡", disabled: true, show: true, status: "danger", desc: "未打卡",},
  "8": {text: "请假", disabled: true, show: false, status: "info",},
  "9": {text: "未开启", disabled: true, show: false, status: "",},
}
// 学习地图
import atlas_1 from '@/static/image/atlas-1.png'
import atlas_2 from '@/static/image/atlas-2.png'
import atlas_3 from '@/static/image/atlas-3.png'
import atlas_4 from '@/static/image/atlas-4.png'
import atlas_top from '@/static/image/atlas_top.png'
import atlas_icon_1 from '@/static/image/atlas_icon_1.png'
import atlas_icon_2 from '@/static/image/atlas_icon_2.png'
import atlas_icon_3 from '@/static/image/atlas_icon_3.png'
import atlas_icon_4 from '@/static/image/atlas_icon_4.png'
import atlas_icon_active_1 from '@/static/image/atlas_icon_active_1.png'
import atlas_icon_active_2 from '@/static/image/atlas_icon_active_2.png'
import atlas_icon_active_3 from '@/static/image/atlas_icon_active_3.png'
import atlas_icon_active_4 from '@/static/image/atlas_icon_active_4.png'

export const atlasList = [
  {id: 1, src: atlas_1, alt: '地图1', lineColor: '#fff', pathColor: 'rgb(201, 216, 218)', opacity: 100,  icon: atlas_icon_1, checkIcon: atlas_icon_active_1, tipColor: '#D99243', isNum: true, numColor: '#485255', isActiveImg: true, isActiveIcon: true, btnColor1: '#FFC76E',btnColor2: '#FC8A52',btnColor3: '#FFE38F',btnColor4: '#DF7238',},
  {id: 2, src: atlas_2, alt: '地图2', lineColor: '#F1AB77', pathColor: 'rgb(248,222,203)', opacity: 100,  icon: atlas_icon_2, checkIcon: atlas_icon_active_2, tipColor: '#9D5617',isNum: true, numColor: '#fff', isActiveImg: false, isActiveIcon: false, btnColor1: '#98CA87',btnColor2: '#80BB76',btnColor3: '#9EE785',btnColor4: '#6A9F61',},
  {id: 3, src: atlas_3, alt: '地图3', lineColor: '#fff', pathColor: 'rgb(162, 220, 233)', opacity: 100,  icon: atlas_icon_3, checkIcon: atlas_icon_active_3, tipColor: '#2B4376', isNum: true, numColor: '#fff', isActiveImg: false, isActiveIcon: false, btnColor1: '#98CA87',btnColor2: '#80BB76',btnColor3: '#9EE785',btnColor4: '#6A9F61',},
  {id: 4, src: atlas_4, alt: '地图4', lineColor: '#fff', pathColor: 'rgb(241, 210, 140)', opacity: 100,  icon: atlas_icon_4, checkIcon: atlas_icon_active_4, tipColor: '#4F8654', isNum: false, numColor: '', isActiveImg: false, isActiveIcon: false, btnColor1: '#FFC76E',btnColor2: '#FC8A52',btnColor3: '#FFE38F',btnColor4: '#DF7238',},
]
export const atlas_icon = [atlas_icon_1, atlas_icon_2, atlas_icon_3, atlas_icon_4];
export const atlas_icon_active = [atlas_icon_active_1, atlas_icon_active_2, atlas_icon_active_3, atlas_icon_active_4];
export const atlas = [atlas_1, atlas_2, atlas_3, atlas_4];
export const emojiRegex = /(?:\u{1F3F4}(?:\u{E0067}\u{E0062}(?:\u{E0065}\u{E006E}\u{E0067}|\u{E0077}\u{E006C}\u{E0073}|\u{E0073}\u{E0063}\u{E0074})\u{E007F}|\u200D\u2620\uFE0F)|\u{1F469}\u200D\u{1F469}\u200D(?:\u{1F466}\u200D\u{1F466}|\u{1F467}\u200D[\u{1F466}\u{1F467}])|\u{1F468}(?:\u200D(?:\u2764\uFE0F\u200D(?:\u{1F48B}\u200D)?\u{1F468}|[\u{1F468}\u{1F469}]\u200D(?:\u{1F466}\u200D\u{1F466}|\u{1F467}\u200D[\u{1F466}\u{1F467}])|\u{1F466}\u200D\u{1F466}|\u{1F467}\u200D[\u{1F466}\u{1F467}]|[\u{1F33E}\u{1F373}\u{1F393}\u{1F3A4}\u{1F3A8}\u{1F3EB}\u{1F3ED}\u{1F4BB}\u{1F4BC}\u{1F527}\u{1F52C}\u{1F680}\u{1F692}\u{1F9B0}-\u{1F9B3}])|[\u{1F3FB}-\u{1F3FF}]\u200D[\u{1F33E}\u{1F373}\u{1F393}\u{1F3A4}\u{1F3A8}\u{1F3EB}\u{1F3ED}\u{1F4BB}\u{1F4BC}\u{1F527}\u{1F52C}\u{1F680}\u{1F692}\u{1F9B0}-\u{1F9B3}])|\u{1F469}\u200D(?:\u2764\uFE0F\u200D(?:\u{1F48B}\u200D[\u{1F468}\u{1F469}]|[\u{1F468}\u{1F469}])|[\u{1F33E}\u{1F373}\u{1F393}\u{1F3A4}\u{1F3A8}\u{1F3EB}\u{1F3ED}\u{1F4BB}\u{1F4BC}\u{1F527}\u{1F52C}\u{1F680}\u{1F692}\u{1F9B0}-\u{1F9B3}])|\u{1F469}\u200D\u{1F466}\u200D\u{1F466}|(?:\u{1F441}\uFE0F\u200D\u{1F5E8}|\u{1F469}[\u{1F3FB}-\u{1F3FF}]\u200D[\u2695\u2696\u2708]|\u{1F468}(?:[\u{1F3FB}-\u{1F3FF}]\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:[\u26F9\u{1F3CB}\u{1F3CC}\u{1F575}]\uFE0F|[\u{1F46F}\u{1F93C}\u{1F9DE}\u{1F9DF}])\u200D[\u2640\u2642]|[\u26F9\u{1F3CB}\u{1F3CC}\u{1F575}][\u{1F3FB}-\u{1F3FF}]\u200D[\u2640\u2642]|[\u{1F3C3}\u{1F3C4}\u{1F3CA}\u{1F46E}\u{1F471}\u{1F473}\u{1F477}\u{1F481}\u{1F482}\u{1F486}\u{1F487}\u{1F645}-\u{1F647}\u{1F64B}\u{1F64D}\u{1F64E}\u{1F6A3}\u{1F6B4}-\u{1F6B6}\u{1F926}\u{1F937}-\u{1F939}\u{1F93D}\u{1F93E}\u{1F9B8}\u{1F9B9}\u{1F9D6}-\u{1F9DD}](?:[\u{1F3FB}-\u{1F3FF}]\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\u{1F469}\u200D[\u2695\u2696\u2708])\uFE0F|\u{1F469}\u200D\u{1F467}\u200D[\u{1F466}\u{1F467}]|\u{1F469}\u200D\u{1F469}\u200D[\u{1F466}\u{1F467}]|\u{1F468}(?:\u200D(?:[\u{1F468}\u{1F469}]\u200D[\u{1F466}\u{1F467}]|[\u{1F466}\u{1F467}])|[\u{1F3FB}-\u{1F3FF}])|\u{1F3F3}\uFE0F\u200D\u{1F308}|\u{1F469}\u200D\u{1F467}|\u{1F469}[\u{1F3FB}-\u{1F3FF}]\u200D[\u{1F33E}\u{1F373}\u{1F393}\u{1F3A4}\u{1F3A8}\u{1F3EB}\u{1F3ED}\u{1F4BB}\u{1F4BC}\u{1F527}\u{1F52C}\u{1F680}\u{1F692}\u{1F9B0}-\u{1F9B3}]|\u{1F469}\u200D\u{1F466}|\u{1F1F6}\u{1F1E6}|\u{1F1FD}\u{1F1F0}|\u{1F1F4}\u{1F1F2}|\u{1F469}[\u{1F3FB}-\u{1F3FF}]|\u{1F1ED}[\u{1F1F0}\u{1F1F2}\u{1F1F3}\u{1F1F7}\u{1F1F9}\u{1F1FA}]|\u{1F1EC}[\u{1F1E6}\u{1F1E7}\u{1F1E9}-\u{1F1EE}\u{1F1F1}-\u{1F1F3}\u{1F1F5}-\u{1F1FA}\u{1F1FC}\u{1F1FE}]|\u{1F1EA}[\u{1F1E6}\u{1F1E8}\u{1F1EA}\u{1F1EC}\u{1F1ED}\u{1F1F7}-\u{1F1FA}]|\u{1F1E8}[\u{1F1E6}\u{1F1E8}\u{1F1E9}\u{1F1EB}-\u{1F1EE}\u{1F1F0}-\u{1F1F5}\u{1F1F7}\u{1F1FA}-\u{1F1FF}]|\u{1F1F2}[\u{1F1E6}\u{1F1E8}-\u{1F1ED}\u{1F1F0}-\u{1F1FF}]|\u{1F1F3}[\u{1F1E6}\u{1F1E8}\u{1F1EA}-\u{1F1EC}\u{1F1EE}\u{1F1F1}\u{1F1F4}\u{1F1F5}\u{1F1F7}\u{1F1FA}\u{1F1FF}]|\u{1F1FC}[\u{1F1EB}\u{1F1F8}]|\u{1F1FA}[\u{1F1E6}\u{1F1EC}\u{1F1F2}\u{1F1F3}\u{1F1F8}\u{1F1FE}\u{1F1FF}]|\u{1F1F0}[\u{1F1EA}\u{1F1EC}-\u{1F1EE}\u{1F1F2}\u{1F1F3}\u{1F1F5}\u{1F1F7}\u{1F1FC}\u{1F1FE}\u{1F1FF}]|\u{1F1EF}[\u{1F1EA}\u{1F1F2}\u{1F1F4}\u{1F1F5}]|\u{1F1F8}[\u{1F1E6}-\u{1F1EA}\u{1F1EC}-\u{1F1F4}\u{1F1F7}-\u{1F1F9}\u{1F1FB}\u{1F1FD}-\u{1F1FF}]|\u{1F1EE}[\u{1F1E8}-\u{1F1EA}\u{1F1F1}-\u{1F1F4}\u{1F1F6}-\u{1F1F9}]|\u{1F1FF}[\u{1F1E6}\u{1F1F2}\u{1F1FC}]|\u{1F1EB}[\u{1F1EE}-\u{1F1F0}\u{1F1F2}\u{1F1F4}\u{1F1F7}]|\u{1F1F5}[\u{1F1E6}\u{1F1EA}-\u{1F1ED}\u{1F1F0}-\u{1F1F3}\u{1F1F7}-\u{1F1F9}\u{1F1FC}\u{1F1FE}]|\u{1F1E9}[\u{1F1EA}\u{1F1EC}\u{1F1EF}\u{1F1F0}\u{1F1F2}\u{1F1F4}\u{1F1FF}]|\u{1F1F9}[\u{1F1E6}\u{1F1E8}\u{1F1E9}\u{1F1EB}-\u{1F1ED}\u{1F1EF}-\u{1F1F4}\u{1F1F7}\u{1F1F9}\u{1F1FB}\u{1F1FC}\u{1F1FF}]|\u{1F1E7}[\u{1F1E6}\u{1F1E7}\u{1F1E9}-\u{1F1EF}\u{1F1F1}-\u{1F1F4}\u{1F1F6}-\u{1F1F9}\u{1F1FB}\u{1F1FC}\u{1F1FE}\u{1F1FF}]|[#\*0-9]\uFE0F\u20E3|\u{1F1F1}[\u{1F1E6}-\u{1F1E8}\u{1F1EE}\u{1F1F0}\u{1F1F7}-\u{1F1FB}\u{1F1FE}]|\u{1F1E6}[\u{1F1E8}-\u{1F1EC}\u{1F1EE}\u{1F1F1}\u{1F1F2}\u{1F1F4}\u{1F1F6}-\u{1F1FA}\u{1F1FC}\u{1F1FD}\u{1F1FF}]|\u{1F1F7}[\u{1F1EA}\u{1F1F4}\u{1F1F8}\u{1F1FA}\u{1F1FC}]|\u{1F1FB}[\u{1F1E6}\u{1F1E8}\u{1F1EA}\u{1F1EC}\u{1F1EE}\u{1F1F3}\u{1F1FA}]|\u{1F1FE}[\u{1F1EA}\u{1F1F9}]|[\u{1F3C3}\u{1F3C4}\u{1F3CA}\u{1F46E}\u{1F471}\u{1F473}\u{1F477}\u{1F481}\u{1F482}\u{1F486}\u{1F487}\u{1F645}-\u{1F647}\u{1F64B}\u{1F64D}\u{1F64E}\u{1F6A3}\u{1F6B4}-\u{1F6B6}\u{1F926}\u{1F937}-\u{1F939}\u{1F93D}\u{1F93E}\u{1F9B8}\u{1F9B9}\u{1F9D6}-\u{1F9DD}][\u{1F3FB}-\u{1F3FF}]|[\u26F9\u{1F3CB}\u{1F3CC}\u{1F575}][\u{1F3FB}-\u{1F3FF}]|[\u261D\u270A-\u270D\u{1F385}\u{1F3C2}\u{1F3C7}\u{1F442}\u{1F443}\u{1F446}-\u{1F450}\u{1F466}\u{1F467}\u{1F470}\u{1F472}\u{1F474}-\u{1F476}\u{1F478}\u{1F47C}\u{1F483}\u{1F485}\u{1F4AA}\u{1F574}\u{1F57A}\u{1F590}\u{1F595}\u{1F596}\u{1F64C}\u{1F64F}\u{1F6C0}\u{1F6CC}\u{1F918}-\u{1F91C}\u{1F91E}\u{1F91F}\u{1F930}-\u{1F936}\u{1F9B5}\u{1F9B6}\u{1F9D1}-\u{1F9D5}][\u{1F3FB}-\u{1F3FF}]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55\u{1F004}\u{1F0CF}\u{1F18E}\u{1F191}-\u{1F19A}\u{1F1E6}-\u{1F1FF}\u{1F201}\u{1F21A}\u{1F22F}\u{1F232}-\u{1F236}\u{1F238}-\u{1F23A}\u{1F250}\u{1F251}\u{1F300}-\u{1F320}\u{1F32D}-\u{1F335}\u{1F337}-\u{1F37C}\u{1F37E}-\u{1F393}\u{1F3A0}-\u{1F3CA}\u{1F3CF}-\u{1F3D3}\u{1F3E0}-\u{1F3F0}\u{1F3F4}\u{1F3F8}-\u{1F43E}\u{1F440}\u{1F442}-\u{1F4FC}\u{1F4FF}-\u{1F53D}\u{1F54B}-\u{1F54E}\u{1F550}-\u{1F567}\u{1F57A}\u{1F595}\u{1F596}\u{1F5A4}\u{1F5FB}-\u{1F64F}\u{1F680}-\u{1F6C5}\u{1F6CC}\u{1F6D0}-\u{1F6D2}\u{1F6EB}\u{1F6EC}\u{1F6F4}-\u{1F6F9}\u{1F910}-\u{1F93A}\u{1F93C}-\u{1F93E}\u{1F940}-\u{1F945}\u{1F947}-\u{1F970}\u{1F973}-\u{1F976}\u{1F97A}\u{1F97C}-\u{1F9A2}\u{1F9B0}-\u{1F9B9}\u{1F9C0}-\u{1F9C2}\u{1F9D0}-\u{1F9FF}]|[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299\u{1F004}\u{1F0CF}\u{1F170}\u{1F171}\u{1F17E}\u{1F17F}\u{1F18E}\u{1F191}-\u{1F19A}\u{1F1E6}-\u{1F1FF}\u{1F201}\u{1F202}\u{1F21A}\u{1F22F}\u{1F232}-\u{1F23A}\u{1F250}\u{1F251}\u{1F300}-\u{1F321}\u{1F324}-\u{1F393}\u{1F396}\u{1F397}\u{1F399}-\u{1F39B}\u{1F39E}-\u{1F3F0}\u{1F3F3}-\u{1F3F5}\u{1F3F7}-\u{1F4FD}\u{1F4FF}-\u{1F53D}\u{1F549}-\u{1F54E}\u{1F550}-\u{1F567}\u{1F56F}\u{1F570}\u{1F573}-\u{1F57A}\u{1F587}\u{1F58A}-\u{1F58D}\u{1F590}\u{1F595}\u{1F596}\u{1F5A4}\u{1F5A5}\u{1F5A8}\u{1F5B1}\u{1F5B2}\u{1F5BC}\u{1F5C2}-\u{1F5C4}\u{1F5D1}-\u{1F5D3}\u{1F5DC}-\u{1F5DE}\u{1F5E1}\u{1F5E3}\u{1F5E8}\u{1F5EF}\u{1F5F3}\u{1F5FA}-\u{1F64F}\u{1F680}-\u{1F6C5}\u{1F6CB}-\u{1F6D2}\u{1F6E0}-\u{1F6E5}\u{1F6E9}\u{1F6EB}\u{1F6EC}\u{1F6F0}\u{1F6F3}-\u{1F6F9}\u{1F910}-\u{1F93A}\u{1F93C}-\u{1F93E}\u{1F940}-\u{1F945}\u{1F947}-\u{1F970}\u{1F973}-\u{1F976}\u{1F97A}\u{1F97C}-\u{1F9A2}\u{1F9B0}-\u{1F9B9}\u{1F9C0}-\u{1F9C2}\u{1F9D0}-\u{1F9FF}]\uFE0F|[\u261D\u26F9\u270A-\u270D\u{1F385}\u{1F3C2}-\u{1F3C4}\u{1F3C7}\u{1F3CA}-\u{1F3CC}\u{1F442}\u{1F443}\u{1F446}-\u{1F450}\u{1F466}-\u{1F469}\u{1F46E}\u{1F470}-\u{1F478}\u{1F47C}\u{1F481}-\u{1F483}\u{1F485}-\u{1F487}\u{1F4AA}\u{1F574}\u{1F575}\u{1F57A}\u{1F590}\u{1F595}\u{1F596}\u{1F645}-\u{1F647}\u{1F64B}-\u{1F64F}\u{1F6A3}\u{1F6B4}-\u{1F6B6}\u{1F6C0}\u{1F6CC}\u{1F918}-\u{1F91C}\u{1F91E}\u{1F91F}\u{1F926}\u{1F930}-\u{1F939}\u{1F93D}\u{1F93E}\u{1F9B5}\u{1F9B6}\u{1F9B8}\u{1F9B9}\u{1F9D1}-\u{1F9DD}]|\u{200D})+/gu
export const emojiRegex2 = /[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF][\u200D|\uFE0F]|[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF]|[0-9|*|#]\uFE0F\u20E3|[0-9|#]\u20E3|[\u203C-\u3299]\uFE0F\u200D|[\u203C-\u3299]\uFE0F|[\u2122-\u2B55]|\u303D|[\A9|\AE]\u3030|\uA9|\uAE|\u3030/ig;

